package com.ourteam.product.model.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 IRKT 2017
 * Auto Generate Date : 2017-11-17 11:00:40
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseProductModelObjectRelateDAO extends IDataAccessInterface<ProductModelObjectRelate, ProductModelObjectRelateDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "PRODUCT_MODEL_OBJECT_RELATE";

    /**
     * Mapped Field ID
    */
    static final String Id = "PRODUCT_MODEL_OBJECT_RELATE.ID";

    /**
     * Mapped Field RELATE_CODE
    */
    static final String RelateCode = "PRODUCT_MODEL_OBJECT_RELATE.RELATE_CODE";

    /**
     * Mapped Field RELATE_NAME
    */
    static final String RelateName = "PRODUCT_MODEL_OBJECT_RELATE.RELATE_NAME";

    /**
     * Mapped Field OBJECT_ID
    */
    static final String ObjectId = "PRODUCT_MODEL_OBJECT_RELATE.OBJECT_ID";

    /**
     * Mapped Field RELATED_OBJECT_ID
    */
    static final String RelatedObjectId = "PRODUCT_MODEL_OBJECT_RELATE.RELATED_OBJECT_ID";

    /**
     * Mapped Field RELATED_TYPE
    */
    static final String RelatedType = "PRODUCT_MODEL_OBJECT_RELATE.RELATED_TYPE";

    /**
     * Mapped Field RELATED_CONFIG
    */
    static final String RelatedConfig = "PRODUCT_MODEL_OBJECT_RELATE.RELATED_CONFIG";

    /**
     * Mapped Field SORT_INDEX
    */
    static final String SortIndex = "PRODUCT_MODEL_OBJECT_RELATE.SORT_INDEX";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "PRODUCT_MODEL_OBJECT_RELATE.STATUS";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "PRODUCT_MODEL_OBJECT_RELATE.REMARKS";

    /**
     * Mapped Attribute relatedObjectName
    */
    static final String RelatedObjectName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectName,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute relatedObjectType
    */
    static final String RelatedObjectType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectType,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute relatedObjectRemarks
    */
    static final String RelatedObjectRemarks = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.Remarks,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute relatedObjectPackageId
    */
    static final String RelatedObjectPackageId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.PackageId,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute relatedObjectPackageName
    */
    static final String RelatedObjectPackageName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPackageDAO.PackageName,
            com.ourteam.product.model.dao.IProductModelPackageDAO.EntityName +
            ".", "PRODUCT_MODEL_PACKAGE.");

    /**
     * Mapped Attribute objectName
    */
    static final String ObjectName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectName,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute objectType
    */
    static final String ObjectType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.ObjectType,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute objectRemarks
    */
    static final String ObjectRemarks = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.Remarks,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute objectPackageId
    */
    static final String ObjectPackageId = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelObjectDAO.PackageId,
            com.ourteam.product.model.dao.IProductModelObjectDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_OBJECT.");

    /**
     * Mapped Attribute objectPackageName
    */
    static final String ObjectPackageName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.model.dao.IProductModelPackageDAO.PackageName,
            com.ourteam.product.model.dao.IProductModelPackageDAO.EntityName +
            ".", "MAIN_PRODUCT_MODEL_PACKAGE.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    ProductModelObjectRelate findById(final long id) throws Exception;

    /**
         * Query Related ProductModelPropertyRelate
         * @param aQueryBean
         * @throws Exception
         */
    com.ourteam.product.model.dao.ProductModelPropertyRelate[] queryProductModelPropertyRelate(
        final ProductModelObjectRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Query Related ProductModelPropertyRelate Selective
         * @param queryBean
         * @throws Exception
         */
    java.util.Map<String, Object>[] queryProductModelPropertyRelateSelective(
        final ProductModelObjectRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Update Related ProductModelPropertyRelate
         * @param aProductModelPropertyRelate
         * @param queryBean
         * @throws Exception
         */
    void updateProductModelPropertyRelate(
        final com.ourteam.product.model.dao.ProductModelPropertyRelate aProductModelPropertyRelate,
        ProductModelObjectRelateDAOQueryBean queryBean)
        throws Exception;

    /**
         * Delete Related ProductModelPropertyRelate
         * @param queryBean
         * @throws Exception
         */
    void deleteProductModelPropertyRelate(
        final ProductModelObjectRelateDAOQueryBean queryBean)
        throws Exception;

    static public interface DataProperty {
        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute relateCode
         */
        static final String RelateCode = "relateCode";

        /**
         * Attribute relateName
         */
        static final String RelateName = "relateName";

        /**
         * Attribute objectId
         */
        static final String ObjectId = "objectId";

        /**
         * Attribute relatedObjectId
         */
        static final String RelatedObjectId = "relatedObjectId";

        /**
         * Attribute relatedType
         */
        static final String RelatedType = "relatedType";

        /**
         * Attribute relatedConfig
         */
        static final String RelatedConfig = "relatedConfig";

        /**
         * Attribute sortIndex
         */
        static final String SortIndex = "sortIndex";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute relatedObjectName
         */
        static final String RelatedObjectName = "relatedObjectName";

        /**
         * Attribute relatedObjectType
         */
        static final String RelatedObjectType = "relatedObjectType";

        /**
         * Attribute relatedObjectPackageId
         */
        static final String RelatedObjectPackageId = "relatedObjectPackageId";

        /**
         * Attribute relatedObjectPackageName
         */
        static final String RelatedObjectPackageName = "relatedObjectPackageName";

        /**
         * Attribute relatedObjectRemarks
         */
        static final String RelatedObjectRemarks = "relatedObjectRemarks";

        /**
         * Attribute objectName
         */
        static final String ObjectName = "objectName";

        /**
         * Attribute objectType
         */
        static final String ObjectType = "objectType";

        /**
         * Attribute objectRemarks
         */
        static final String ObjectRemarks = "objectRemarks";

        /**
         * Attribute objectPackageId
         */
        static final String ObjectPackageId = "objectPackageId";

        /**
         * Attribute objectPackageName
         */
        static final String ObjectPackageName = "objectPackageName";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
